5f467ac917198ec0744e67e475640b569bc9af02,src/persistence/org/codehaus/groovy/grails/orm/hibernate/cfg/GrailsDomainBinder.java,GrailsDomainBinder,bindNumericColumnConstraints,#Column#ConstrainedProperty#,1023

Before Change


        Comparable minConstraintValue = constrainedProperty.getMin();
        Comparable maxConstraintValue = constrainedProperty.getMax();

        if ((minSizeConstraintValue != null) || (maxSizeConstraintValue != null) || (minConstraintValue != null) || (maxConstraintValue != null)) {
            int minSizeConstraintValueLength = 0;
            if (minSizeConstraintValue != null) {
                minSizeConstraintValueLength = countDigits(minSizeConstraintValue);
            }

            int maxSizeConstraintValueLength = 0;
            if (maxSizeConstraintValue != null) {
                maxSizeConstraintValueLength = countDigits(maxSizeConstraintValue);
            }

            int minConstraintValueLength = 0;
            int minConstraintValueIntegerLength = 0;
            if ((minConstraintValue != null) && (minConstraintValue instanceof Number)) {
                minConstraintValueLength = countDigits((Number)minConstraintValue);
                minConstraintValueIntegerLength = countDigits(new Long(((Number)minConstraintValue).longValue()));
            }

            int maxConstraintValueLength = 0;
            int maxConstraintValueIntegerLength = 0;
            if ((maxConstraintValue != null) && (maxConstraintValue instanceof Number)) {
                maxConstraintValueLength = countDigits((Number)maxConstraintValue);
                maxConstraintValueIntegerLength = countDigits(new Long(((Number)maxConstraintValue).longValue()));
            }

            // Set the most lenient precision possible based on the many constraints.  (In other words,

After Change


					countDigits(new Long(((Number) minConstraintValue).longValue())) + scale
			);
		}
		int maxConstraintValueLength = 0;
		if ((maxConstraintValue != null) && (maxConstraintValue instanceof Number)) {
			maxConstraintValueLength = Math.max(
					countDigits((Number) maxConstraintValue), 
					countDigits(new Long(((Number) maxConstraintValue).longValue())) + scale
			);
		}

		if (minConstraintValueLength > 0 && maxConstraintValueLength > 0) {
			// If both of min and max constraints are setted we could use
			// maximum digits number in it as precision
			precision = NumberUtils.max(new int[] { minConstraintValueLength, maxConstraintValueLength });